package com.zhuiyun.project.utils;

/**
 * @ClassName duKaUtils
 * @Description TODO 用于计算体脂率
 * @Author wuwan
 * @Date 2023/11/9 9:48
 **/
public class bodyFatPercentageUtils {
    // 一键计算体脂率方法
    public static Double bodyFatPercentageCalculation(Double memberUserWeight,Integer memberUserHeight,Integer memberUserAge,Integer memberUserSex) {
        // 转换身高为米
        double heightInMeter = memberUserHeight.doubleValue() / 100;
        // 计算BMI并打印结果
        double bmi = memberUserWeight / (heightInMeter * heightInMeter);
        // 根据BMI计算体脂率并打印结果
        double bodyFatPercentage = 1.2 * bmi + 0.23 * memberUserAge - 5.4 - 10.8 * memberUserSex;
        // 四舍五入并保留两位小数
        double roundedBodyFatPercentage = Math.round(bodyFatPercentage * 100) / 100.0;
        return roundedBodyFatPercentage;
    }

    // 计算BML方法
    public static Double calculateBMI(Double memberUserWeight,Integer memberUserHeight) {
        // 转换身高为米
        double heightInMeter = memberUserHeight.doubleValue() / 100;
        // 计算BMI并打印结果
        double bmi = memberUserWeight / (heightInMeter * heightInMeter);
        return bmi;
    }
    /**
    * 简易根据BMI计算体脂率方法
    * BMI < 18.5：体重过轻
    * 18.5 ≤ BMI < 24.9：正常体重
    * 25.0 ≤ BMI < 29.9：超重
    * BMI ≥ 30.0：肥胖
    */
    // 根据BMI计算体脂率 // bml身体质量指标
    public static double calculateBodyFatPercentage(double bmi) {
        // 简易根据BMI计算体脂率方法
        return 1.2 * bmi + 0.23 * 19 - 10.8 - 5.4;
    }
}
